﻿namespace UFrame
{
    public class ItemExpConfigId : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            int id = (int)args;
            return item.ConfigId == id;
        }
    }

    public class ItemExpBind : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            bool isBind = (bool)args;
            return item.Bind == isBind;
        }
    }


    public class ItemExpTimeType : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            TimelimitEnum timeType = (TimelimitEnum)args;
            return item.TimeType == timeType;
        }
    }

    public class ItemExpIsEquip : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            return item.BigType == (int)ItemType.Equip;
        }
    }

    public class ItemExpIsMaterial : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            int type = item.BigType;
            return type == 2 || type == 4 || type == 6;
        }
    }

    public class ItemExpIsSpecial : ItemFun<ItemBase>
    {
        public override bool IsSuit(ItemBase item, object args)
        {
            int type = item.BigType;
            return type == 1 || type == 5 || type == 7 || type == 8;
        }
    }
}